

package com.yungu.swift.assets.passenger.service;

import com.yungu.swift.assets.passenger.model.dto.PassengerEmergencyDto;
import com.yungu.swift.assets.passenger.model.vo.PassengerEmergencyVo;
import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.service.BaseService;

import java.util.Date;

/**
 * Copyright © 厦门云谷互联信息有限公司 2016-2017 All Right Reserved
 * <p>
 * 乘客紧急方式表
 *
 * @author Zerrion
 * @version 1.0.3-RELEASE
 * @since 2018-10-16 10:35:12
 */
public interface PassengerEmergencyService extends BaseService<PassengerEmergencyDto> {
    /**
     * 新增紧急联系成员
     *
     * @param passengerUuid 乘客UUID
     * @param memberName    成员姓名
     * @param memberMobile  成员手机号
     * @return AjaxList
     */
    ResponseData<String> addMember(String passengerUuid, String memberName, String memberMobile);

    /**
     * 删除紧急联系成员
     *
     * @param emergencyUuid 紧急联系UUID
     * @param memberUuid    成员UUID
     * @return AjaxList
     */
    ResponseData<String> delMember(String emergencyUuid, String memberUuid);

    /**
     * 更新紧急联系成员信息
     *
     * @param emergencyUuid 紧急联系UUID
     * @param memberUuid    成员UUID
     * @param memberName    成员姓名
     * @param memberMobile  成员电话
     * @return AjaxList
     */
    ResponseData<String> updateMember(String emergencyUuid, String memberUuid, String memberName, String memberMobile);

    /**
     * 更新切换总自动分享行程信息
     *
     * @param emergencyUuid      紧急联系UUID
     * @param emergencyStatus    紧急联系状态[1：是，0：否]
     * @param emergencyTimeStart 行程分享开始时间
     * @param emergencyTimeEnd   行程分享结束时间
     * @return AjaxList
     */
    ResponseData<Integer> updateStatus(String emergencyUuid, Integer emergencyStatus, Date emergencyTimeStart, Date emergencyTimeEnd);

    /**
     * 更新切换紧急成员自动分享行程信息
     *
     * @param emergencyUuid 紧急联系UUID
     * @param memberUuid    成员UUID
     * @param memberStatus  紧急联系状态[1：是，0：否]
     * @return
     */
    ResponseData<Integer> updateMemberStatus(String emergencyUuid, String memberUuid, Integer memberStatus);

    /**
     * 紧急联系人详情信息
     *
     * @param passengerUuid 乘客UUID
     * @return PassengerEmergencyVo
     */
    ResponseData<PassengerEmergencyVo> emergencyInfo(String passengerUuid);
}